#ifndef FORTE_DISPLAY_HPP
#define FORTE_DISPLAY_HPP

namespace Forte
{
  class Display
  {
  public:
    Display();

    void OnBuildBegin();
    void OnBuildEnd();
    void OnError(SimpleString const& filename, unsigned linenum, SimpleString const& text);
    void OnWarning(SimpleString const& filename, unsigned linenum, SimpleString const& text);
    void OnText(SimpleString const& text);
    void Update();
  private:
    void Reset();

    int mHeight;
    int mWidth;
    int mDividerY;
    pthread_mutex_t mMutex;
    std::vector<std::string> mErrorLines;
    std::vector<std::string> mTextLines;
    volatile bool mBuilding;
  };
}

#endif

